package com.fuyun.rpc.server.registry;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author: zrq1351
 * @date: 2025/2/14
 */
public class LocalRegistry {

	/**
	 * 本地注册中心
	 */
	private static final Map<String, Class<?>> REGISTRY_CENTER = new ConcurrentHashMap<>();

	/**
	 * 注册服务
	 *
	 * @param interfaceName 接口名
	 * @param implClass     实现类
	 */
	public static void register(String interfaceName, Class<?> implClass) {
		REGISTRY_CENTER.put(interfaceName, implClass);
	}

	/**
	 * 获取服务
	 *
	 * @param interfaceName 接口名
	 * @return 实现类
	 */
	public static Class<?> get(String interfaceName) {
		return REGISTRY_CENTER.get(interfaceName);
	}

	/**
	 * 删除服务
	 *
	 * @param interfaceName 接口名
	 */
	public static void remove(String interfaceName) {
		REGISTRY_CENTER.remove(interfaceName);
	}

	/**
	 * 清空服务
	 */
	public static void clear() {
		REGISTRY_CENTER.clear();
	}
}